<?php
namespace Home\Model;
use Think\Model\ViewModel;
// +----------------------------------------------------------------------
// | Date:2017年9月18日
// +----------------------------------------------------------------------
// | Author: EK_熊<1439527494@qq.com>
// +----------------------------------------------------------------------
// | Description: 此文件作用于****
// +----------------------------------------------------------------------
class PostsModel extends ViewModel{
    public $viewFields = array(     
        'Posts'=>array('id','post_title','post_price','post_weight','smeta','href'),     
        'term_relationships'=>array('_on'=>'Posts.id=term_relationships.object_id','term_id','status'),     
        
    );
        
    
    /**
     * 获取列表
     * @param string $tid
     * date:2017年9月18日
     * author: EK_熊
     */
    public function getList($tidary = '' ,$page ,$limit){
//        dump($tidary);
        $map = [
           'term_relationships.term_id'=>['in',$tidary],
            'term_relationships.status'=>1,
        ];
        $ret = $this->where($map)->order("istop desc,id desc")->page($page,$limit)->select();
        $ret = $this->format_smeta($ret);
        return $ret;
    }
    
    /**
     * 首页，获取推荐分类下面的推荐商品
     * @param string $tid
     * date:2017年9月18日
     * author: EK_熊
     */
    public function getProRecommend(){
        $map = [
//             'term_relationships.term_id'=>['in',$tid],
            'post_status'=>1,
            'recommended'=>1
        ];
        
        $ret = $this->where($map)->order('recommended,Posts.post_modified desc')->select();
        $ret = $this->format_smeta($ret);
        foreach ($ret as $k=>$v) {
            if (!isset($ret[$v['term_id']])) {
                
                $data[$v['term_id']] = $v;
            }
        }
        return $data;
    }
    
    

    
    /**
     * 最近访问列表
     * @param array $tid
     * @param unknown $limit
     * date:2017年9月18日
     * author: EK_熊
     */
    public function getVisitList($proid=array(),$limit){
        $map = [
            'id'=>['in',$proid],
            'post_status'=>1
        ];
        $ret = $this->where($map)->limit($limit)->select();
        $ret = $this->format_smeta($ret);
        return $ret;        
    }
    
    /**
     * 获取同个类别的商品，但是不包括自己
     * @param unknown $tid
     * @param unknown $proid
     * date:2017年9月18日
     * author: EK_熊
     */
    function getRelatedList($tid,$proid,$limit){
        $map = [
            'id'=>['neq',$proid],
            'post_status'=>1,
            'term_relationships.term_id'=>$tid
        ];
        $ret = $this->where($map)->limit($limit)->select();
        $ret = $this->format_smeta($ret);
        return $ret;        
    }
    

    /**
     * 格式化解析 smeta拓展字段
     * @param array $list
     * @param array $photoModel   1获取封面；2获取图片内容
     * @return unknown
     * date:2016年8月12日
     * author: EK_熊
     */
    function format_smeta($list=array()){
        $upload_path = C("TMPL_PARSE_STRING.__UPLOAD__");
        if ($list) {
            foreach ($list as $k=>$v){
                $photo = json_decode($v['smeta'],true);
                $list[$k]['thumb'] = $photo['thumb'] ? $upload_path.$photo['thumb']: '';
                
                unset($list[$k]['smeta']);
            }
        }
        return $list;
    }
    
    
}